﻿using System;
using MathClient.ServiceReference;
using System.Threading;

namespace MathClient
{
    class Program
    {
        /* 在运行中，安装Windows服务的方法：
             //在运行中，将当前目录转向MathWindowsServiceHost.exe所在的目录，(盘符直接切换, cd 切换文件夹)
            //然后输入 F:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe MathWindowsServiceHost.exe
            // 或F:\Windows\Microsoft.NET\Framework\v4.0.30319\IntallUtil.exe MathWindowsServiceHost.exe
            //(本程序选4.0的)
            //则在服务中可以看到新增了一项服务

            //另外，删除服务的方法如下：
            //在运行中，将当前目录转向MathWindowsServiceHost.exe所在的目录，
            //sc delete MathWindowsServiceHost （MathWindowsServiceHost为当前要删除的服务名）,即可删除该服务
         
         */

        static void Main(string[] args)
        {
            Console.WriteLine("***** The Async Math Client *****\n");

            using (BasicMathClient proxy = new BasicMathClient())
            {
                proxy.Open();

                // Add numbers in an async manner, using lambda expression
                IAsyncResult result = proxy.BeginAdd(2, 3,
                  ar =>
                  {
                      Console.WriteLine("2 + 3 = {0}", proxy.EndAdd(ar));
                  }, null);

                while (!result.IsCompleted)
                {
                    Thread.Sleep(200);
                    Console.WriteLine("Client working...");
                }
            }
            Console.ReadLine();
        }
    }
}
